# SConstruct for meeting service project

import sys
import os

import bootstrap.fetchDependencies

dependencies = bootstrap.fetchDependencies.getDependencyList("dependencyList.txt")

scriptsDirs, dependencyDirs = SConscript('bootstrap/SConscript', exports=['dependencies'])
for dir in scriptsDirs:
    sys.path.insert(0, dir)

import csfenv

csfenv.csfAddOptions()

import platforms
import shoggoth
import msvcgen

# SConscripts
for env in csfenv.Environments(BUILD_TARGETS,
                               CSF_PROJECT_NAME='newmeetingservice',
                               windows_arch='x86',
                               windows_mbcs='unicode',
                               macosx_arch='x86'):
    # Register JCF Tools
    env.Tool(shoggoth.tool)
    env.Tool(msvcgen.tool)
    # Call local API SConscript
    SConscript('api/SConscript', exports=['env'])
    # Call dependency SConscripts    
    SConscript(dirs=dependencyDirs, exports=['env'])
    # Call the top of the local SConscript tree    
    SConscript('SConscript', exports=['env'])
    
    if 'buildTests' in sys.argv:
        # Call the dependency test SConscripts
        testDirs = [d for d in dependencyDirs if os.path.isfile(os.path.join(d, 'tests/SConscript'))]
        SConscript(dirs=testDirs, name='tests/SConscript', exports=['env'])

    SConscript('tests/SConscript', exports=['env'])

Default('newmeetingservice')

Alias('executeUnitTests', 'execute-newmeetingservice-unittest')
Help("""
Target: executeUnitTests
    Short Alias for execute-newmeetingservice-unittest
""")

Alias('executeUnitTests-debug', 'execute-newmeetingservice-unittest-debug')
Help("""
Target: executeUnitTests-debug
    Short Alias for execute-newmeetingservice-unittest-debug
""")